using System.Collections.Generic;
using Sinacor.Infra.UI.Common;

namespace Sinacor.UI.Bovespa.Parametro.Communication.Translator.ModelToDataContract 
{
	public class Mensagem 
    {
		public Mensagem(){}

		public Sinacor.UI.Bovespa.Parametro.Communication.Bovespa.Ordens.Mensagem.FiltroMensagemJustificativaObservacaoRequest ToFiltroMensagemJustificativaObservacaoRequest(Model.Parameter.FiltroMensagemJustificativaObservacao from)
        {
            Sinacor.UI.Bovespa.Parametro.Communication.Bovespa.Ordens.Mensagem.FiltroMensagemJustificativaObservacaoRequest to = new Sinacor.UI.Bovespa.Parametro.Communication.Bovespa.Ordens.Mensagem.FiltroMensagemJustificativaObservacaoRequest();

            //to.TipoSistema = (Sinacor.UI.Bovespa.Parametro.Communication.Bovespa.Ordens.Mensagem.TipoSistema) from.TipoSistema;
            switch (from.TipoSistema)
            {
                case Sinacor.UI.Bovespa.Parametro.Model.Enum.TipoSistema.Ordem:
                    to.TipoSistema = Sinacor.UI.Bovespa.Parametro.Communication.Bovespa.Ordens.Mensagem.TipoSistema.Ordem;
                    break;
                case Sinacor.UI.Bovespa.Parametro.Model.Enum.TipoSistema.Faturamento:
                    to.TipoSistema = Sinacor.UI.Bovespa.Parametro.Communication.Bovespa.Ordens.Mensagem.TipoSistema.Faturamento;
                    break;
            }

			return to;
		}

        public List<Sinacor.UI.Bovespa.Parametro.Communication.Bovespa.Ordens.Mensagem.FiltroMensagemJustificativaObservacaoRequest> ToFiltroMensagemJustificativaObservacaoRequest(ModelCollection<Model.Parameter.FiltroMensagemJustificativaObservacao> from)
        {
            List<Sinacor.UI.Bovespa.Parametro.Communication.Bovespa.Ordens.Mensagem.FiltroMensagemJustificativaObservacaoRequest> to = new List<Sinacor.UI.Bovespa.Parametro.Communication.Bovespa.Ordens.Mensagem.FiltroMensagemJustificativaObservacaoRequest>();

            foreach (Model.Parameter.FiltroMensagemJustificativaObservacao item in from)
            {
                to.Add(ToFiltroMensagemJustificativaObservacaoRequest(item));
            }
            return to;
		}
	}
}